package cn.jingzhuan.fm.mvp.contract

import cn.jingzhuan.fm.network.json.JsonResponse
import cn.jingzhuan.fm.pojo.FMAudio
import io.reactivex.Flowable

interface FMAudioListContract {

    interface Presenter {
        fun getAudioList(albumId:String)
        fun loadMore()
        fun refresh()
        fun reverse()
    }

    interface View {
        fun onRefresh()
        fun onDataChange(data : List<FMAudio>)
        fun onLoadMoreComplete()
        fun onNoMoreData()
        fun onReverse(isReverse:Boolean)
        fun onDataInit()
    }


    interface Model {
        fun getAudioList(page:Int,limit:Int,isReverse:Boolean,albumId:String) : Flowable<JsonResponse<List<FMAudio>>>
    }

}